package com.abso.mp3tunes.locker.core.data;

import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

/**
 * The information returned as a result of an AudioScrobbler handshake attempt.
 */
public class AudioScrobblerHandshakeData {

	/** The identifier of the estabilished session. */
	private String sessionId;

	/** The URL for notifying that a track has started playing. */
	private String nowPlayingURL;

	/** The URL for notifying that a track has finished playing. */
	private String submissionURL;

	/**
	 * Returns the identifier of the session.
	 * 
	 * @return the identifier of the session.
	 */
	public String getSessionId() {
		return sessionId;
	}

	/**
	 * Sets the identifier of the session.
	 * 
	 * @param sessionId
	 *            the identifier of the session.
	 */
	public void setSessionId(String sessionId) {
		this.sessionId = sessionId;
	}

	/**
	 * Returns the URL for notifying that a track has started playing
	 * 
	 * @return the URL for notifying that a track has started playing.
	 */
	public String getNowPlayingURL() {
		return nowPlayingURL;
	}

	/**
	 * Sets the URL for notifying that a track has started playing.
	 * 
	 * @param nowPlayingURL
	 *            the URL for notifying that a track has started playing.
	 */
	public void setNowPlayingURL(String nowPlayingURL) {
		this.nowPlayingURL = nowPlayingURL;
	}

	/**
	 * Returns the URL for notifying that a track has started playing.
	 * 
	 * @return the URL for notifying that a track has started playing.
	 */
	public String getSubmissionURL() {
		return submissionURL;
	}

	/**
	 * Sets the URL for notifying that a track has started playing.
	 * 
	 * @param submissionURL
	 *            the URL for notifying that a track has started playing.
	 */
	public void setSubmissionURL(String submissionURL) {
		this.submissionURL = submissionURL;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see java.lang.Object#toString()
	 */
	public String toString() {
		return ToStringBuilder.reflectionToString(this,
				ToStringStyle.MULTI_LINE_STYLE);
	}
}
